home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 016 / vclock11.arc / VIDCLOCK.DOC < prev    next >
Encoding:
Text File  |  1988-09-11  |  6.5 KB  |  151 lines

  1.   Copyright (c) 1988  Thomas G. Hanlin III
  2.   VIDCLOCK.COM  v1.1  09/11/88
  3.   A configurable background-operating time display utility
  4.  
  5.  
  6. VIDCLOCK keeps a constant time display on the screen.  You can select the
  7. location the time will be displayed, what color it will be, whether it
  8. will be normal or military (24-hour) format, whether the seconds should be
  9. displayed, whether flicker-free video is required, and how often to update
  10. the display.  You can also remove VIDCLOCK entirely from memory if you so
  11. desire.  For help, just type VIDCLOCK without any parameters.
  12.  
  13.  
  14.  
  15. This utility may be freely distributed according to these rules:
  16.  
  17. 1) VIDCLOCK.COM, VIDCLOCK.DOC, and VIDCLOCK.NEW must be distributed
  18.    together, in unmodified form.
  19.  
  20. 2) No fee may be charged, other than a disk duplication / handling fee
  21.    which may not exceed $10.00.
  22.  
  23.  
  24.  
  25. VIDCLOCK Options:
  26.  
  27.    /I      Install the clock (turns on the clock)
  28.  
  29.    /R      Remove the clock (turns off the clock)
  30.  
  31.    /F      Flicker-free (slow) video, for cheap CGAs
  32.  
  33.    /M      Military time format (24-hour clock)
  34.  
  35.    /S      Seconds off (don't display seconds)
  36.  
  37.    /C=f,b  Color settings for clock.  Foreground and background colors are
  38.            selectable, using numbers as follows:
  39.  
  40.            Number    Color system
  41.               0         Black
  42.               1         Blue
  43.               2         Green
  44.               3         Cyan
  45.               4         Red
  46.               5         Magenta
  47.               6         Brown
  48.               7         White
  49.  
  50.            Add eight to foreground for intense or bright colors.
  51.            Add eight to background for blinking colors (not recommended).
  52.  
  53.            For a Monochrome display, use the following pairs:
  54.            Numbers   Mono System
  55.              7,0      Normal
  56.              1,0      Underlined
  57.              0,7      Inverse video
  58.  
  59.    /L=r,c  Location of clock.  Row and Column should be specified.  The
  60.            upper left corner of the screen is 1,1.  The default is around
  61.            1,71 (depending on screen mode and /F, /S options).  It is
  62.            recommended that the clock go on the top line of the screen, or
  63.            past the 25th line (for EGA/VGA in the proper modes), since
  64.            normal scrolling will otherwise tend to messily duplicate the
  65.            time value on the screen.
  66.  
  67.    /U=t    Update frequency: how often to update the clock display, in
  68.            18ths of seconds.  This may range from 1-255, with the default
  69.            at 9 (update every half-second).
  70.  
  71.  
  72.  
  73. General Information:
  74.  
  75. VIDCLOCK is designed to work with any text-mode screen.  It will work on
  76. Monochrome, CGA, EGA, VGA, and Hercules displays.  Any text mode can be
  77. used: 40x25, 80x25, 80x43, 80x50.  Only IBM and compatible machines are
  78. supported-- if it doesn't work, your computer isn't compatible enough.
  79.  
  80. VIDCLOCK is a TSR (Terminate and Stay Resident) program.  It takes up a
  81. tiny 608 bytes of memory until you remove it or reboot the computer.
  82.  
  83. The /F option should only be used if VIDCLOCK causes flickering on your
  84. screen (which will only happen on some low-quality CGAs).  It will stop
  85. the flickering, at the cost of some speed.  It will also tend to cause
  86. interference with any serial communications being done.
  87.  
  88. The /U option controls how frequently the clock display is updated, in
  89. 18ths of seconds.  Smaller values restore the clock faster if it is erased
  90. from the screen (by scrolling, CLS, or whatever), but also result in more
  91. interference with communications and so forth.  Larger values will cause a
  92. greater delay in restoring the clock if it is erased, and may result in an
  93. unevenly-updated clock.  The default is 9, or an update once every half
  94. second. This may be decreased to 1 (beware of interference with
  95. communications) or increased to 255 (values over 18 are only recommended
  96. if you turn off the "seconds" display using /S, or are using a display
  97. line greater than 25).
  98.  
  99.  
  100.  
  101. Technical Notes:
  102.  
  103. There are a lot of TSR clocks like this in existence.  Many of them are
  104. poor... some of them are pretty good... VIDCLOCK was designed to be better!
  105.  
  106. There are three major constraints for a program such as VIDCLOCK:
  107.  
  108. 1) It needs to be small.  It's a TSR, and occupies system memory until
  109.    told to remove itself.  Optimization for size is important.
  110.  
  111. 2) It needs to be efficient.  It hooks into the system timer interrupt,
  112.    and careless handling can cause the entire system to slow down.
  113.    Interference with fast interrupt-driven events, such as communications,
  114.    is also possible.  Optimization for speed is vital.
  115.  
  116. 3) It needs to be flexible.  People have different types of displays, and
  117.    require different time formats.  Configurability is the touch that lets
  118.    a single program suit many different needs.
  119.  
  120. VIDCLOCK is designed to fulfill these constraints as best as possible.
  121.  
  122. VIDCLOCK correctly handles any normal text screen mode.  It does so on a
  123. static basis, going by what was in effect when it was installed.  Any
  124. display may be used, with any display page (if applicable), in 40x25,
  125. 80x25, 80x43, and 80x50 text modes on MDA, Hercules, CGA, EGA, and VGA
  126. systems.  It is assumed that screen flicker or "snow" is not a problem,
  127. since that's true in most cases, and it makes for much faster displays.
  128. Flicker-free display techniques can be selected manually if required.
  129.  
  130. VIDCLOCK's copy of the environment space is discarded before installation,
  131. to keep the size to a minimum.  VIDCLOCK can detect whether it has been
  132. installed, in a manner resistant to disruption by other TSRs.  When
  133. VIDCLOCK is turned off, it restores the original interrupt vectors and
  134. removes itself from memory.  In operation, VIDCLOCK uses direct machine
  135. access for speed and to avoid the reentrancy problem with BIOS and DOS.
  136.  
  137. The timer interrupt INT 8 is used to tell when to update the clock.  This
  138. reduces likelihood of conflict with other TSRs, which tend to use INT 1Ch
  139. for timing purposes.  The actual time is calculated from the BIOS time
  140. data area. Interrupt INT 2Fh (the "multiplex" interrupt) is also hooked
  141. in, for use in determining whether the clock is installed and in removing
  142. the clock. The VIDCLOCK device identifier is 0DAh.  You can use the
  143. following method to see if VIDCLOCK is installed (assembly language):
  144.  
  145.    MOV   AX,0DA00h     ; query status for I.D. 0DAh
  146.    INT   2Fh           ; use multiplex interrupt
  147.    ;-------------------------
  148.    ; Returns:
  149.    ;    AL=0    not installed
  150.    ;    AL=0FFh installed
  151.